package org.jf.tool.fx.jftoolfx.util;

import javafx.application.Platform;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

import java.util.Timer;
import java.util.TimerTask;

/**
 * @author jifeng_zhang
 * @date 2025/8/18 下午7:03
 */
public class JavaFXUtil {
    public static void msg(Stage stage, String msg) {
        Stage dialog = new Stage();
        dialog.initStyle(StageStyle.TRANSPARENT);
        Label label = new Label(msg);
        label.setStyle("-fx-text-fill: white;");
        VBox vbox = new VBox(label);
        // 设置内容垂直居中显示
        vbox.setAlignment(Pos.CENTER);
        vbox.setSpacing(10);
        // 设置背景透明
        vbox.setStyle(
                // 设置圆角半径
                "-fx-background-radius: 5; " +
                        // 半透明背景
                        "-fx-background-color: rgba(0,0,0,.6);" +
                        // 边框圆角(如果有边框)
                        "-fx-border-radius: 5; " +
                        // 边框颜色
                        "-fx-border-color: rgba(0,0,0,.6); " +
                        // 边框宽度
                        "-fx-border-width: 0;"
        );
        Scene scene = new Scene(vbox, 150, 50);
//        stage.initStyle(StageStyle.UNDECORATED);
        dialog.setScene(scene);
        // 设置对话框居中显示
        dialog.setX(stage.getX() + stage.getWidth() / 2 - 100);
        dialog.setY(stage.getY() + stage.getHeight() / 2 - 25);

        // 自动关闭
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                Platform.runLater(dialog::close);
            }
        }, 700);
        dialog.show();
    }
}
